package com.hua.api.modules.express.service;

import com.alibaba.fastjson.JSONObject;
import com.hua.api.core.framework.config.scurity.UserInfo;
import com.hua.api.modules.express.domain.ExpressOrder;
import com.hua.api.modules.express.domain.ShopInfoExpress;
import com.hua.api.modules.express.service.dto.ExpressInfoCriteria;

import java.util.List;

public interface ShopInfoExpressService {

    /**
     * 查询门店信息
     * */
    JSONObject queryAllStore(ExpressInfoCriteria criteria,String expressCode);

    /**
     * 店铺绑定物流门店（新增或者修改）
     * */
    JSONObject bindShopInfoExpress(Integer shopId,String expressCode,String storeId);

    /**
     * 根据订单号，查询可发送的物流列表
     * */
    List<ShopInfoExpress> shopInfoExpressList(Integer orderId);

    /**
     * 订单物流单价计算
     * */
    ExpressOrder orderCalculate(Integer orderId, Integer expressId,Integer isSaleAfter);

    /**
     * 提交订单
     * */
    JSONObject orderPlace(String expressOrderNo);

    /**
     * 订单加价
     * */
    JSONObject addition(ExpressInfoCriteria criteria, UserInfo user);

    /**
     * 取消订单
     * */
    void abortOrder(ExpressInfoCriteria criteria);

    /**
     * 查询闪送员位置信息
     * */
    JSONObject courierInfo(ExpressInfoCriteria criteria);

    /**
     * 查询账户余额
     * */
    JSONObject getUserAccount(String expressCode);

}